extend

infix fun Int.extend(length: Int): IntRange(source)
infix fun Long.extend(length: Long): LongRange(source)

Creates a range starting at this, spanning the provided length. The result is unchecked.

Samples

import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.shl
import dev.kikugie.commons.ranges.shr
import dev.kikugie.commons.ranges.contains
import dev.kikugie.commons.ranges.overlaps
import dev.kikugie.commons.ranges.cross
import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.merge
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   assertEquals(2..5, 2 extend 3)

// Unchecked
assertEquals(2..-1, 2 extend -3)
assertEquals(2_147_483_647..-2_147_483_640, Int.MAX_VALUE extend 8) 
   //sampleEnd
}

infix fun IntRange.extend(other: IntRange): IntRange(source)

Creates a union of this and the other range, covering all values between them.

Samples

import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.shl
import dev.kikugie.commons.ranges.shr
import dev.kikugie.commons.ranges.contains
import dev.kikugie.commons.ranges.overlaps
import dev.kikugie.commons.ranges.cross
import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.merge
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   assertEquals(1..9, 1..3 extend 5..9) 
   //sampleEnd
}